using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("DownloadManifest")]
	public class DownloadManifest : MonoClass
	{
		public static string s_downloadManifestFilePath => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "DownloadManifest", "s_downloadManifestFilePath");

		public static DownloadManifest s_downloadManifest => MonoClass.smethod_7<DownloadManifest>(TritonHs.MainAssemblyPath, "", "DownloadManifest", "s_downloadManifest");

		public static List<string> s_filesToWrite => MonoClass.smethod_7<Class272>(TritonHs.MainAssemblyPath, "", "DownloadManifest", "s_filesToWrite")?.method_25();

		public static string MANIFEST_DIVIDER => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "DownloadManifest", "MANIFEST_DIVIDER");

		public DownloadManifest(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DownloadManifest(IntPtr address)
			: this(address, "DownloadManifest")
		{
		}

		public static DownloadManifest Get()
		{
			return MonoClass.smethod_15<DownloadManifest>(TritonHs.MainAssemblyPath, "", "DownloadManifest", "Get", Array.Empty<object>());
		}

		public static void ClearDataToWrite()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "DownloadManifest", "ClearDataToWrite");
		}

		public static void AddFileToWrite(string filePath)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "DownloadManifest", "AddFileToWrite", filePath);
		}

		public static void AddHashNameForBundle(string name, string hash)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "DownloadManifest", "AddHashNameForBundle", name, hash);
		}

		public static void WriteToFile(string path)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "DownloadManifest", "WriteToFile", path);
		}

		public bool ContainsFile(string filePath)
		{
			return method_11<bool>("ContainsFile", new object[1] { filePath });
		}

		public string HashForBundle(string bundleName)
		{
			return method_13("HashForBundle", bundleName);
		}

		public string DownloadableBundleFileName(string bundleName)
		{
			return method_13("DownloadableBundleFileName", bundleName);
		}

		public void Load()
		{
			method_8("Load");
		}

		public bool ParseAndAddHashName(string line)
		{
			return method_11<bool>("ParseAndAddHashName", new object[1] { line });
		}
	}
}
